import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/cupertino.dart';
import 'package:zootix/zt_app_theme.dart';

class ZtFadeInCacheImage extends StatefulWidget {
  final double? width;
  final double? height;
  final String? url;
  final BoxFit? fit;
  bool compress;
  bool canFullscreen;
  ZtFadeInCacheImage(
      {Key? key,
      this.width,
      this.height,
      this.url,
      this.fit = BoxFit.cover,
      this.compress = false,
      this.canFullscreen = false})
      : super(key: key);

  @override
  _ZtFadeInCacheImageState createState() => _ZtFadeInCacheImageState();
}

class _ZtFadeInCacheImageState extends State<ZtFadeInCacheImage> {
  late BuildContext theContext;
  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    theContext = context;

    if ((widget.url == null || widget.url == '' || widget.url == 'null')) {
      return SizedBox();
    }

    return buildImg(widget.url);
    ;
  }

  // Future getImg() {
  //   return ZtMediaUtil().generateLogoUrl(widget.url);
  // }

  Widget buildImg(String? url) {
    return CachedNetworkImage(
      alignment: Alignment.center,
      imageUrl: url ?? '',
      width: widget.width,
      height: widget.height,
      fit: widget.fit,
      placeholder: (context, url) => Container(
        decoration: BoxDecoration(color: ZtAppTheme.grey),
        child: CupertinoActivityIndicator(),
      ),
      errorWidget: (context, error, stackTrace) => SizedBox(),
    );
  }
}
